Vibrating alarm system and operating methods

ABSTRACT

Introduced are methods and systems for: gathering human biological signals, such as heart rate, breathing rate, or temperature; analyzing the gathered human biological signals; and controlling an alarm based on the analysis.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation in part of U.S. patent applicationSer. No. 14/732,646, filed Jun. 5, 2015, which claims priority to thefollowing U.S. provisional patent applications: U.S. provisional patentapplication Ser. No. 62/008,480, filed Jun. 5, 2014; U.S. provisionalpatent application Ser. No. 62/024,945, filed Jul. 15, 2014; U.S.provisional patent application Ser. No. 62/159,177, filed May 8, 2015;and U.S. provisional patent application Ser. No. 62/161,142, filed May13, 2015; which applications are incorporated herein in their entiretyand by this reference thereto.

TECHNICAL FIELD

Various embodiments relate generally to home automation devices, andhuman biological signal gathering and analysis.

BACKGROUND

According to current scientific research into sleep, there are two majorstages of sleep: rapid eye movement (“REM”) sleep, and non-REM sleep.First comes non-REM sleep, followed by a shorter period of REM sleep,and then the cycle starts over again.

There are three stages of non-REM sleep. Each stage can last from 5 to15 minutes. A person goes through all three stages before reaching REMsleep.

In stage one, a person's eyes are closed, but the person is easily wokenup. This stage may last for 5 to 10 minutes.

In stage two, a person is in light sleep. A person's heart rate slowsand the person's body temperature drops. The person's body is gettingready for deep sleep.

Stage three is the deep sleep stage. A person is harder to rouse duringthis stage, and if the person was woken up, the person would feeldisoriented for a few minutes. During the deep stages of non-REM sleep,the body repairs and regrows tissues, builds bone and muscle, andstrengthens the immune system.

REM sleep happens 90 minutes after a person falls asleep. Dreamstypically happen during REM sleep. The first period of REM typicallylasts 10 minutes. Each of later REM stages gets longer, and the finalone may last up to an hour. A person's heart rate and breathingquickens. A person can have intense dreams during REM sleep, since thebrain is more active. REM sleep affects learning of certain mentalskills.

Even in today's technological age, supporting healthy sleep is relegatedto the technology of the past such as an electric blanket, a heated pad,or a bed warmer. The most advanced of these technologies, an electricblanket, is a blanket with an integrated electrical heating device whichcan be placed above the top bed sheet or below the bottom bed sheet. Theelectric blanket may be used to pre-heat the bed before use or to keepthe occupant warm while in bed. However, turning on the electric blanketrequires the user to remember to manually turn on the blanket, and thenmanually turn it on. Further, the electric blanket provides noadditional functionality besides warming the bed.

SUMMARY

Introduced are methods and systems for: gathering human biologicalsignals, such as heart rate, breathing rate, or temperature; analyzingthe gathered human biological signals; and controlling home appliancesbased on the analysis.

In one embodiment of the invention, one or more user sensors, associatedwith a piece of furniture, such as a bed, measure the bio signalsassociated with a user, such as the heart rate associated with said useror breathing rate associated with said user. One or more environmentsensors measure the environment property such as temperature, humidity,light, or sound. Based on the bio signals associated with said user andenvironment properties received, the system determines the time at whichto send an instruction to an alarm to turn on or to turn off.

In another embodiment of the invention, based on the heart rate,temperature, and breathing rate, associated with a user, the systemdetermines the sleep phase associated with said user. Based on the sleepphase and the user-specified wake-up time, the system determines a timeto wake up the user, so that the user does not feel tired or disorientedwhen woken up.

BRIEF DESCRIPTION OF THE DRAWINGS

These and other objects, features and characteristics of the presentembodiments will become more apparent to those skilled in the art from astudy of the following detailed description in conjunction with theappended claims and drawings, all of which form a part of thisspecification. While the accompanying drawings include illustrations ofvarious embodiments, the drawings are not intended to limit the claimedsubject matter.

FIG. 1 is a diagram of a bed device, according to one embodiment.

FIG. 2 illustrates an example of a bed device, according to oneembodiment.

FIG. 3 illustrates an example of layers comprising a bed pad device,according to one embodiment.

FIG. 4 illustrates a user sensor placed on a sensor strip, according toone embodiment.

FIGS. 5A, 5B, 5C, and 5D show different configurations of a sensorstrip, to fit different size mattresses, according to one embodiment.

FIG. 6A illustrates the division of the heating coil into zones andsubzones, according to one embodiment.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones, according to one embodiment.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment.

FIG. 8 is a flowchart of the process for recommending a bed time to auser, according to one embodiment.

FIG. 9 is a flowchart of the process for activating the user's alarm,according to one embodiment.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment.

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment.

FIG. 19 is a diagrammatic representation of a machine in the exampleform of a computer system within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

DETAILED DESCRIPTION

Examples of a method, apparatus, and computer program for automating thecontrol of home appliances and improving the sleep environment aredisclosed below. In the following description, for the purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the embodiments of the invention. Oneskilled in the art will recognize that the embodiments of the inventionmay be practiced without these specific details or with an equivalentarrangement. In other instances, well-known structures and devices areshown in block diagram form in order to avoid unnecessarily obscuringthe embodiments of the invention.

Terminology

Brief definitions of terms, abbreviations, and phrases used throughoutthis application are given below.

In this specification, the term “biological signal” and “bio signal” aresynonyms, and are used interchangeably.

Reference in this specification to “sleep phase” means light sleep, deepsleep, or rapid eye movement (“REM”) sleep. Light sleep comprises stageone and stage two, non-REM sleep.

Reference in this specification to “one embodiment” or “an embodiment”means that a particular feature, structure, or characteristic describedin connection with the embodiment is included in at least one embodimentof the disclosure. The appearances of the phrase “in one embodiment” invarious places in the specification are not necessarily all referring tothe same embodiment, nor are separate or alternative embodimentsmutually exclusive of other embodiments. Moreover, various features aredescribed that may be exhibited by some embodiments and not by others.Similarly, various requirements are described that may be requirementsfor some embodiments but not others.

Unless the context clearly requires otherwise, throughout thedescription and the claims, the words “comprise,” “comprising,” and thelike are to be construed in an inclusive sense, as opposed to anexclusive or exhaustive sense; that is to say, in the sense of“including, but not limited to.” As used herein, the terms “connected,”“coupled,” or any variant thereof, means any connection or coupling,either direct or indirect, between two or more elements. The coupling orconnection between the elements can be physical, logical, or acombination thereof. For example, two devices may be coupled directly,or via one or more intermediary channels or devices. As another example,devices may be coupled in such a way that information can be passedthere between, while not sharing any physical connection with oneanother. Additionally, the words “herein,” “above,” “below,” and wordsof similar import, when used in this application, shall refer to thisapplication as a whole and not to any particular portions of thisapplication. Where the context permits, words in the DetailedDescription using the singular or plural number may also include theplural or singular number respectively. The word “or,” in reference to alist of two or more items, covers all of the following interpretationsof the word: any of the items in the list, all of the items in the list,and any combination of the items in the list.

If the specification states a component or feature “may,” “can,”“could,” or “might” be included or have a characteristic, thatparticular component or feature is not required to be included or havethe characteristic.

The term “module” refers broadly to software, hardware, or firmwarecomponents (or any combination thereof). Modules are typicallyfunctional components that can generate useful data or another outputusing specified input(s). A module may or may not be self-contained. Anapplication program (also called an “application”) may include one ormore modules, or a module may include one or more application programs.

The terminology used in the Detailed Description is intended to beinterpreted in its broadest reasonable manner, even though it is beingused in conjunction with certain examples. The terms used in thisspecification generally have their ordinary meanings in the art, withinthe context of the disclosure, and in the specific context where eachterm is used. For convenience, certain terms may be highlighted, forexample using capitalization, italics, and/or quotation marks. The useof highlighting has no influence on the scope and meaning of a term; thescope and meaning of a term is the same, in the same context, whether ornot it is highlighted. It will be appreciated that the same element canbe described in more than one way.

Consequently, alternative language and synonyms may be used for any oneor more of the terms discussed herein, but special significance is notto be placed upon whether or not a term is elaborated or discussedherein. A recital of one or more synonyms does not exclude the use ofother synonyms. The use of examples anywhere in this specification,including examples of any terms discussed herein, is illustrative onlyand is not intended to further limit the scope and meaning of thedisclosure or of any exemplified term. Likewise, the disclosure is notlimited to various embodiments given in this specification.

Bed Device

FIG. 1 is a diagram of a bed device, according to one embodiment. Anynumber of user sensors 140, 150 monitor the bio signals associated witha user, such as the heart rate, the breathing rate, the temperature,motion, or presence, associated with said user. Any number ofenvironment sensors 160, 170 monitor environment properties, such astemperature, sound, light, or humidity. The user sensors 140, 150 andthe environment sensors 160, 170 communicate their measurements to theprocessor 100. The environment sensors 160, 170, measure the propertiesof the environment that the environment sensors 160, 170 are associatedwith. In one embodiment, the environment sensors 160, 170 are placednext to the bed. The processor 100 determines, based on the bio signalsassociated with said user, historical bio signals associated with saiduser, user-specified preferences, exercise data associated with saiduser, or the environment properties received, a control signal, and atime to send said control signal to a bed device 120.

According to one embodiment, the processor 100 is connected to adatabase 180, which stores the biological signals associated with auser. Additionally, the database 180 can store average biologicalsignals associated with the user, history of biological signalsassociated with a user, etc. The database 180 can be associated with auser, or the database 180 can be associated with the bed device.

FIG. 2 illustrates an example of the bed device of FIG. 1, according toone embodiment. A sensor strip 210, associated with a mattress 200 ofthe bed device 120, monitors bio signals associated with a user sleepingon the mattress 200. The sensor strip 210 can be built into the mattress200, or can be part of a bed pad device. Alternatively, the sensor strip210 can be a part of any other piece of furniture, such as a rockingchair, a couch, an armchair etc. The sensor strip 210 comprises atemperature sensor, or a piezo sensor. The environment sensor 220measures environment properties such as temperature, sound, light orhumidity. According to one embodiment, the environment sensor 220 isassociated with the environment surrounding the mattress 200. The sensorstrip 210 and the environment sensor 220 communicate the measuredenvironment properties to the processor 230. In some embodiments, theprocessor 230 can be similar to the processor 100 of FIG. 1 A processor230 can be connected to the sensor strip 210, or the environment sensor220 by a computer bus, such as an I2C bus. Also, the processor 230 canbe connected to the sensor strip 210, or the environment sensor 220 by acommunication network. By way of example, the communication networkconnecting the processor 230 to the sensor strip 210, or the environmentsensor 220 includes one or more networks such as a data network, awireless network, a telephony network, or any combination thereof. Thedata network may be any local area network (LAN), metropolitan areanetwork (MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

The processor 230 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

FIG. 3 illustrates an example of layers comprising the bed pad device ofFIG. 1, according to one embodiment. In some embodiments, the bed paddevice 120 is a pad that can be placed on top of the mattress. Bed paddevice 120 comprises a number of layers. A top layer 350 comprisesfabric. A layer 340 comprises batting, and a sensor strip 330. A layer320 comprises coils for cooling or heating the bed device. A layer 310comprises waterproof material.

FIG. 4 illustrates a user sensor 420, 440, 450, 470 placed on a sensorstrip 400, according to one embodiment. In some embodiments, the usersensors 420, 440, 450, 470 can be similar to or part of the sensor strip210 of FIG. 2. Sensors 470 and 440 comprise a piezo sensor, which canmeasure a bio signal associated with a user, such as the heart rate andthe breathing rate. Sensors 450 and 420 comprise a temperature sensor.According to one embodiment, sensors 450, and 470 measure the biosignals associated with one user, while sensors 420, 440 measure the biosignals associated with another user. Analog-to-digital converter 410converts the analog sensor signals into digital signals to becommunicated to a processor. Computer bus 430 and 460, such as the I2Cbus, communicates the digitized bio signals to a processor.

FIGS. 5A and 5B show different configurations of the sensor strip, tofit different size mattresses, according to one embodiment. FIGS. 5C and5D show how such different configurations of the sensor strip can beachieved. Specifically, sensor strip 400 comprises a computer bus 510,530, and a sensor striplet 505. The computer bus 510, 530 can be bent atpredetermined locations 540, 550, 560, 570. Bending the computer bus 515at location 540 produces the maximum total length of the computer bus530. Computer bus 530 combined with a sensor striplet 505, fits a kingsize mattress 520. Bending the computer bus 515 at location 570 producesthe smallest total length of the computer bus, 510. Computer bus 510combined with a sensor striplet 505, fits a twin size mattress 500.Bending the computer bus 515 at location 560, enables the sensor strip400 to fit a full-size bed. Bending the computer bus 515 at location 550enables the sensor strip 400 to fit a queen-size bed. In someembodiments, twin mattress 500, or king mattress 520 can be similar tothe mattress 200 of FIG. 2.

FIG. 6A illustrates the division of the heating coil 600 into zones andsubzones, according to one embodiment. Specifically, the heating coil600 is divided into two zones 660 and 610, each corresponding to oneuser of the bed. Each zone 660 and 610 can be heated or cooledindependently of the other zone in response to the user's needs. Toachieve independent heating of the two zones 660 and 610, the powersupply associated with the heating coil 600 is divided into two zones,each power supply zone corresponding to a single user zone 660, 610.Further, each zone 660 and 610 is further subdivided into subzones. Zone660 is divided into subzones 670, 680, 690, and 695. Zone 610 is dividedinto subzones 620, 630, 640, and 650. The distribution of coils in eachsubzone is configured so that the subzone is uniformly heated. However,the subzones may differ among themselves in the density of coils. Forexample, the data associated with said user subzone 670 has lowerdensity of coils than subzone 680. This will result in subzone 670having lower temperature than subzone 680, when the coils are heated.Similarly, when the coils are used for cooling, subzones 670 will havehigher temperature than subzone 680. According to one embodiment,subzones 680 and 630 with highest coil density correspond to the user'slower back; and subzones 695 and 650 with highest coil densitycorrespond to user's feet. According to one embodiment, even if theusers switch sides of the bed, the system will correctly identify whichuser is sleeping in which zone by identifying the user based on any ofthe following signals alone, or in combination: heart rate, breathingrate, body motion, or body temperature associated with said user.

In another embodiment, the power supply associated with the heating coil600 is divided into a plurality of zones, each power supply zonecorresponding to a subzone 620, 630, 640, 650, 670, 680, 690, 695. Theuser can control the temperature of each subzone 620, 630, 640, 650,670, 680, 690, 695 independently. Further, each user can independentlyspecify the temperature preferences for each of the subzones. Even ifthe users switch sides of the bed, the system will correctly identifythe user, and the preferences associated with the user by identifyingthe user based on any of the following signals alone, or in combination:heart rate, breathing rate, body motion, or body temperature associatedwith said user.

FIGS. 6B and 6C illustrate the independent control of the differentsubzones in each zone 610, 660, according to one embodiment. Set ofuniform coils 611, connected to power management box 601, uniformlyheats or cools the bed. Another set of coils, targeting specific areasof the body such as the neck, the back, the legs, or the feet, islayered on top of the uniform coils 611. Subzone 615 heats or cools theneck. Subzone 625 heats or cools the back. Subzone 635 heats or coolsthe legs, and subzone 645 heats or cools the feet. Power is distributedto the coils via duty cycling of the power supply 605. Contiguous setsof coils can be heated or cooled at different levels by assigning thepower supply duty cycle to each set of coils. The user can control thetemperature of each subzone independently.

FIG. 7 is a flowchart of the process for deciding when to heat or coolthe bed device, according to one embodiment. At block 700, the processobtains a biological signal associated with a user, such as presence inbed, motion, breathing rate, heart rate, or a temperature. The processobtains said biological signal from a sensor associated with a user.Further, at block 710, the process obtains environment property, such asthe amount of ambient light and the bed temperature. The process obtainsenvironment property from and environment sensor associated with the beddevice. If the user is in bed, the bed temperature is low, and theambient light is low, the process sends a control signal to the beddevice. The control signal comprises an instruction to heat the beddevice to the average nightly temperature associated with said user.According to another embodiment, the control signal comprises aninstruction to heat the bed device to a user-specified temperature.Similarly, if the user is in bed, the bed temperature is high, and theambient light is low, the process sends a control signal to the beddevice to cool the bed device to the average nightly temperatureassociated with said user. According to another embodiment, the controlsignal comprises an instruction to cool the bed device to auser-specified temperature.

In another embodiment, in addition to obtaining the biological signalassociated with said user, and the environment property, the processobtains a history of biological signals associated with said user. Thehistory of biological signals can be stored in a database 180 associatedwith the bed device, or in a database 180 associated with a user. Thehistory of biological signals comprises the average bedtime the userwent to sleep for each day of the week; that is, the history ofbiological signals comprises the average bedtime associated with saiduser on Monday, the average bedtime associated with said user onTuesday, etc. For a given day of the week, the process determines theaverage bedtime associated with said user for that day of the week, andsends the control signal to the bed device, allowing enough time for thebed to reach the desired temperature, before the average bedtimeassociated with said user. The control signal comprises an instructionto heat, or cool the bed to a desired temperature. The desiredtemperature may be automatically determined, such as by averaging thehistorical nightly temperature associated with a user, or the desiredtemperature may be specified by the user.

Bio Signal Processing

The technology disclosed here categorizes the sleep phase associatedwith a user as light sleep, deep sleep, or REM sleep. Light sleepcomprises stage one and stage two sleep. The technology performs thecategorization based on the breathing rate associated with said user,heart rate associated with said user, motion associated with said user,and body temperature associated with said user. Generally, when the useris awake the breathing is erratic. When the user is sleeping, thebreathing becomes regular. The transition between being awake andsleeping is quick, and lasts less than 1 minute. The user cycles throughlight sleep, deep sleep, and REM sleep throughout the night. A completesleep cycle takes on average between 90 and 110 minutes.

FIG. 8 is a flowchart of the process for recommending a bed time to theuser, according to one embodiment. At block 800, the processor 230obtains a history of sleep phase information associated with said user.The history of sleep phase information comprises an amount of time theuser spent in each of the sleep phases, light sleep, deep sleep, or REMsleep. The history of sleep phase information can be stored in adatabase 180 associated with the user. Based on this information, theprocessor 230 determines how much light sleep, deep sleep, and REMsleep, the user needs on average every day. In another embodiment, thehistory of sleep phase information comprises the average bedtimeassociated with said user for each day of the week (e.g. the averagebedtime associated with said user on Monday, the average bedtimeassociated with said user on Tuesday, etc.). At block 810, the processor230 obtains user-specified wake-up time, such as the alarm settingassociated with said user. At block 820, the processor 230 obtainsexercise information associated with said user, such as the distance theuser ran that day, the amount of time the user exercised in the gym, orthe amount of calories the user burned that day. According to oneembodiment, the processor 230 obtains said exercise information from auser phone, a wearable device, a fitbit bracelet, or a database 180storing said exercise information. Based on all this information, atblock 830, the processor 230 recommends a bedtime to the user. Forexample, if the user has not been getting enough deep and REM sleep inthe last few days, the processor 230 recommends an earlier bedtime tothe user. Also, if the user has exercised more than the average dailyexercise, the processor 230 recommends an earlier bedtime to the user.

FIG. 9 is a flowchart of the process for activating a user's alarm,according to one embodiment. At block 900, the processor 230 obtains thecompound bio signal associated with said user. The compound bio signalassociated with said user comprises the heart rate associated with saiduser, the breathing rate associated with said user, the motionassociated with the user, and the temperature associated with the user.According to one embodiment, the processor 230 obtains the compound biosignal from a sensor associated with said user. At block 910, theprocessor 230 extracts the heart rate signal from the compound biosignal. For example, the processor 230 extracts the heart rate signalassociated with said user by performing low-pass filtering on thecompound bio signal. Also, at block 920, the processor 230 extracts thebreathing rate signal from the compound bio signal. For example, theprocessor 230 extracts the breathing rate by performing bandpassfiltering on the compound bio signal. The breathing rate signal includesbreath duration, pauses between breaths, as well as breaths per minute.The processor 230 also extracts the temperature signal and the motionsignal from the compound bio signal.

At block 930, the processor 230 obtains user's wake-up time, such as thealarm setting associated with said user. In order to obtain the user'swake-up time, the processor 230, first identifies the user based on theuser's bio signal. Based on the heart rate signal and the breathing ratesignal, the processor 230 determines the sleep phase associated withsaid user, and if the user is in light sleep phase, and current time isat most one hour before the alarm time, at block 940, the processor 230sends a control signal to an alarm. The control signal comprises aninstruction to activate. Waking up the user during the deep sleep or REMsleep is detrimental to the user's health because the user will feeldisoriented, groggy, and will suffer from impaired memory. Consequently,at block 950, the processor 230 activates an alarm, when the user is inlight sleep and when the current time is at most one hour before theuser specified wake-up time.

The alarm can be a vibrating alarm strip coupled to the user, forexample a vibrating alarm strip attached to the mattress, attached to abed pad, attached to the user's cover, attached to the bed sheets etc.In one embodiment, the alarm can be a wearable device attached to theuser, such as a bracelet. The vibrating alarm strip can be divided intoa plurality of zones corresponding to a plurality of users. For example,the left side of the bed corresponds to zone 1, and the right side ofthe bed corresponds to zone 2. Zone 1 and zone 2 can vibrateindependently of each other. When the vibrating alarm is divided intothe plurality of zones, the control signal comprises an identificationassociated with the zone to which the control signal is sent.

The processor 230 can detect whether the user is in light sleep inseveral ways. According to one embodiment, the processor 230 detectsthat user is in light sleep if within a period of at most 5 minutesthere is a slow-down in the user's heart rate, a drop in the user'stemperature, and the users breathing becomes regular. According toanother embodiment, the processor 230 detects that the user is in lightsleep if the user is sleeping, and the rapid eye movement sleep phasehas ended. In another embodiment, the database 180 stores a history ofbiological signals associated with said user, wherein said history ofbiological signals associated with the user comprises a normal heartrate range associated with each sleep phase, a normal breathing raterange associated with each sleep phase, a normal motion range associatedwith each sleep phase, and a normal temperature range associated witheach sleep phase. The processor 230 obtains from the database 180 thehistory of biological signals associated with a user. To obtain thehistory of bio signals associated with a user, the processor 230 firstidentifies the user based on the current bio signal associated with theuser. The current bio signal comprises the current breathing rate, thecurrent temperature in the current motion associated with the user.Based on the history of bio signals in the current bio signal, theprocessor 230 determines the best match between the current bio signaland the history of bio signals associated with each sleep phases. If thebest match between the current bio signal and the history of bio signalsis light sleep, the processor 230 determines that the user is in lightsleep. According to one embodiment, the best match is determined byleast square difference between the current bio signal and the historyof bio signals.

FIG. 10 is a flowchart of the process for turning off an appliance,according to one embodiment. At block 1000, the processor 230 obtainsthe compound bio signal associated with said user. The compound biosignal comprises the heart rate associated with said user, and thebreathing rate associated with said user. According to one embodiment,the processor 230 obtains the compound bio signal from a sensorassociated with said user. At block 1010, the processor 230 extracts theheart rate signal from the compound bio signal by, for example,performing low-pass filtering on the compound bio signal. Also, at block1020, the processor 230 extracts the breathing rate signal from thecompound bio signal by, for example, performing bandpass filtering onthe compound bio signal. At block 1030, the processor 230 obtains anenvironment property, comprising temperature, humidity, light, soundfrom an environment sensor associated with said sensor strip. Based onthe environment property and the sleep state associated with said user,at block 1040, the processor 230 determines whether the user issleeping. If the user is sleeping, the processor 230, at block 1050,turns an appliance off. For example, if the user is asleep and theenvironment temperature is above the average nightly temperature, theprocessor 230 turns off the thermostat. Further, if the user is asleepand the lights are on, the processor 230 turns off the lights.Similarly, if the user is asleep and the TV is on, the processor 230turns off the TV.

Smart Home

FIG. 11 is a diagram of a system capable of automating the control ofthe home appliances, according to one embodiment. Any number of usersensors 1140, 1150 monitor biological signals associated with said user,such as temperature, motion, presence, heart rate, or breathing rate.Any number of environment sensors 1160, 1170 monitor environmentproperties, such as temperature, sound, light, or humidity. According toone embodiment, the environment sensors 1160, 1170 are placed next to abed. The user sensors 1140, 1150 and the environment sensors 1160, 1170communicate their measurements to the processor 1100. In someembodiments, the processor 1100 and the processor 230 at the sameprocessor. The processor 1100 determines, based on the currentbiological signals associated with said user, historical biologicalsignals associated with said user, user-specified preferences, exercisedata associated with said user, and the environment properties received,a control signal, and a time to send said control signal to an appliance1120, 1130.

The processor 1100 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1100 can be connected to the user sensor 1140, 1150, orthe environment sensor 1160, 1170 by a computer bus, such as an I2C bus.Also, the processor 1100 can be connected to the user sensor 1140, 1150,or environment sensor 1160, 1170 by a communication network 1110. By wayof example, the communication network 1110 connecting the processor 1100to the user sensor 1140, 1150, or the environment sensor 1160, 1170includes one or more networks such as a data network, a wirelessnetwork, a telephony network, or any combination thereof. The datanetwork may be any local area network (LAN), metropolitan area network(MAN), wide area network (WAN), a public data network (e.g., theInternet), short range wireless network, or any other suitablepacket-switched network, such as a commercially owned, proprietarypacket-switched network, e.g., a proprietary cable or fiber-opticnetwork, and the like, or any combination thereof. In addition, thewireless network may be, for example, a cellular network and may employvarious technologies including enhanced data rates for global evolution(EDGE), general packet radio service (GPRS), global system for mobilecommunications (GSM), Internet protocol multimedia subsystem (IMS),universal mobile telecommunications system (UMTS), etc., as well as anyother suitable wireless medium, e.g., worldwide interoperability formicrowave access (WiMAX), Long Term Evolution (LTE) networks, codedivision multiple access (CDMA), wideband code division multiple access(WCDMA), wireless fidelity (WiFi), wireless LAN (WLAN), Bluetooth®,Internet Protocol (IP) data casting, satellite, mobile ad-hoc network(MANET), and the like, or any combination thereof.

FIG. 12 is an illustration of the system capable of controlling anappliance and a home, according to one embodiment. The appliances, thatthe system disclosed here can control, comprise an alarm, a coffeemachine, a lock, a thermostat, a bed device, a humidifier, or a light.For example, the system detects that the user has fallen asleep, thesystem sends a control signal to the lights to turn off, to the locks toengage, and to the thermostat to lower the temperature. According toanother example, if the system detects that the user has woken up and itis morning, the system sends a control signal to the coffee machine tostart making coffee.

FIG. 13 is a flowchart of the process for controlling an appliance,according to one embodiment. In one embodiment, at block 1300, theprocess obtains history of biological signals, such as at what time doesthe user go to bed on a particular day of the week (e.g. the averagebedtime associated with said user on Monday, the average bedtimeassociated with said user on Tuesday etc.). The history of biologicalsignals can be stored in a database 180 associated with the user, or ina database 180 associated with the bed device. In another embodiment, atblock 1300, the process also obtains user specified preferences, such asthe preferred bed temperature associated with said user. Based on thehistory of biological signals and user-specified preferences, theprocess, at block 1320, determines a control signal, and a time to sendsaid control signal to an appliance. It block 1330, the processdetermines whether to send a control signal to an appliance. Forexample, if the current time is within half an hour of average bedtimeassociated with said user on that particular day of the week, theprocess, at block 1340, sends a control signal to an appliance. Forexample, the control signal comprises an instruction to turn on the beddevice, and the user specified bed temperature. Alternatively, the bedtemperature is determined automatically, such as by calculating theaverage nightly bed temperature associated with a user.

According to another embodiment, at block 1300, the process obtains acurrent biological signal associated with a user from a sensorassociated with said user. At block 1310, the process also obtainsenvironment data, such as the ambient light, from an environment sensorassociated with a bed device. Based on the current biological signal,the process identifies whether the user is asleep. If the user is asleepand the lights are on, the process sends an instruction to turn off thelights. In another embodiment, if the user is asleep, the lights areoff, and the ambient light is high, the process sends an instruction tothe blinds to shut. In another embodiment, if the user is asleep, theprocess sends an instruction to the locks to engage.

In another embodiment, the process, at block 1300, obtains history ofbiological signals, such as at what time the user goes to bed on aparticular day of the week (e.g. the average bedtime associated withsaid user on Monday, the average bedtime associated with said user onTuesday etc.). The history of biological signals can be stored in adatabase 180 associated with the bed device, or in a database 180associated with a user. Alternatively, the user may specify a bedtimefor the user for each day of the week. Further, the process obtains theexercise data associated with said user, such as the number of hours theuser spent exercising, or the heart rate associated with said userduring exercising. According to one embodiment, the process obtains theexercise data from a user phone, a wearable device, fitbit bracelet, ora database 180 associated with said user. Based on the average bedtimefor that day of the week, and the exercise data during the day, theprocess, at block 1320, determines the expected bedtime associated withsaid user that night. The process then sends an instruction to the beddevice to heat to a desired temperature, before the expected bedtime.The desired temperature can be specified by the user, or can bedetermined automatically, based on the average nightly temperatureassociated with said user.

FIG. 14 is a flowchart of the process for controlling an appliance,according to another embodiment. The process, at block 1400, receivescurrent biological signal associated with said user, such as the heartrate, breathing rate, presence, motion, or temperature, associated withsaid user. Based on the current biological signal, the process, at block1410, identifies current sleep phase, such as light sleep, deep sleep,or REM sleep. The process, at block 1420 also receives a currentenvironment property value, such as the temperature, the humidity, thelight, or the sound. The process, at block 1430, accesses a database180, which stores historical values associated with the environmentproperty and the current sleep phase. That is, the database 180associates each sleep phase with an average historical value of thedifferent environment properties. The database 180 maybe associated withthe bed device, maybe associated with the user, or maybe associated witha remote server. The process, at block 1440, then calculates a newaverage of the environment property based on the current value of theenvironment property and the historical value of the environmentproperty, and assigns the new average to the current sleep phase in thedatabase 180. If there is a mismatch between the current value of theenvironment property, and the historical average, the process, at block1450, regulates the current value to match the historical average. Forexample, the environment property can be the temperature associated withthe bed device. The database 180 stores the average bed temperaturecorresponding to each of the sleep phase, light sleep, deep sleep, REMsleep. If the current bed temperature is below the historical average,the process sends a control signal to increase the temperature of thebed to match the historical average.

Monitoring of Biological Signals

Biological signals associated with a person, such as a heart rate or abreathing rate, indicate said person's state of health. Changes in thebiological signals can indicate an immediate onset of a disease, or along-term trend that increases the risk of a disease associated withsaid person. Monitoring the biological signals for such changes canpredict the onset of a disease, can enable calling for help when theonset of the disease is immediate, or can provide advice to the personif the person is exposed to a higher risk of the disease in thelong-term.

FIG. 15 is a diagram of a system for monitoring biological signalsassociated with a user, and providing notifications or alarms, accordingto one embodiment. Any number of user sensors 1530, 1540 monitor biosignals associated with said user, such as temperature, motion,presence, heart rate, or breathing rate. The user sensors 1530, 1540communicate their measurements to the processor 1500. The processor 1500determines, based on the bio signals associated with said user,historical biological signals associated with said user, oruser-specified preferences whether to send a notification or an alarm toa user device 1520. In some embodiments, the user device 1520 and theprocessor 1500 can be the same device.

The user device 1520 is any type of a mobile terminal, fixed terminal,or portable terminal including a mobile handset, station, unit, device,multimedia computer, multimedia tablet, Internet node, communicator,desktop computer, laptop computer, notebook computer, netbook computer,tablet computer, personal communication system (PCS) device, personalnavigation device, personal digital assistants (PDAs), audio/videoplayer, digital camera/camcorder, positioning device, televisionreceiver, radio broadcast receiver, electronic book device, game device,the accessories and peripherals of these devices, or any combinationthereof.

The processor 1500 is any type of microcontroller, or any processor in amobile terminal, fixed terminal, or portable terminal including a mobilehandset, station, unit, device, multimedia computer, multimedia tablet,Internet node, cloud computer, communicator, desktop computer, laptopcomputer, notebook computer, netbook computer, tablet computer, personalcommunication system (PCS) device, personal navigation device, personaldigital assistants (PDAs), audio/video player, digital camera/camcorder,positioning device, television receiver, radio broadcast receiver,electronic book device, game device, the accessories and peripherals ofthese devices, or any combination thereof.

The processor 1500 can be connected to the user sensor 1530, 1540 by acomputer bus, such as an I2C bus. Also, the processor 1500 can beconnected to the user sensor 1530, 1540 by a communication network 1510.By way of example, the communication network 1510 connecting theprocessor 1500 to the user sensor 1530, 1540 includes one or morenetworks such as a data network, a wireless network, a telephonynetwork, or any combination thereof. The data network may be any localarea network (LAN), metropolitan area network (MAN), wide area network(WAN), a public data network (e.g., the Internet), short range wirelessnetwork, or any other suitable packet-switched network, such as acommercially owned, proprietary packet-switched network, e.g., aproprietary cable or fiber-optic network, and the like, or anycombination thereof. In addition, the wireless network may be, forexample, a cellular network and may employ various technologiesincluding enhanced data rates for global evolution (EDGE), generalpacket radio service (GPRS), global system for mobile communications(GSM), Internet protocol multimedia subsystem (IMS), universal mobiletelecommunications system (UMTS), etc., as well as any other suitablewireless medium, e.g., worldwide interoperability for microwave access(WiMAX), Long Term Evolution (LTE) networks, code division multipleaccess (CDMA), wideband code division multiple access (WCDMA), wirelessfidelity (WiFi), wireless LAN (WLAN), Bluetooth®, Internet Protocol (IP)data casting, satellite, mobile ad-hoc network (MANET), and the like, orany combination thereof.

FIG. 16 is a flowchart of a process for generating a notification basedon a history of biological signals associated with a user, according toone embodiment. The process, at block 1600, obtains a history ofbiological signals, such as the presence history, motion history,breathing rate history, or heart rate history, associated with saiduser. The history of biological signals can be stored in a database 180associated with a user. At block 1610, the process determines if thereis an irregularity in the history of biological signals within atimeframe. If there is an irregularity, at block 1620, the processgenerates a notification to the user. The timeframe can be specified bythe user, or can be automatically determined based on the type ofirregularity. For example, the heart rate associated with said user goesup within a one day timeframe when the user is sick. According to oneembodiment, the process detects an irregularity, specifically, that adaily heart rate associated with said user is higher than normal.Consequently, the process warns the user that the user may be gettingsick. According to another embodiment, the process detects anirregularity, such as that an elderly user is spending at least 10% moretime in bed per day over the last several days, than the historicalaverage. The process generates a notification to the elderly user, or tothe elderly user's caretaker, such as how much more time the elderlyuser is spending in bed. In another embodiment, the process detects anirregularity such as an increase in resting heart rate, by more than 15beats per minute, over a ten-year period. Such an increase in theresting heart rate doubles the likelihood that the user will die from aheart disease, compared to those people whose heart rates remainedstable. Consequently, the process warns the user that the user is atrisk of a heart disease.

FIG. 17 is a flowchart of a process for generating a comparison betweena biological signal associated with a user and a target biologicalsignal, according to one embodiment. The process, at block 1700, obtainsa current biological signal associated with a user, such as presence,motion, breathing rate, temperature, or heart rate, associated with saiduser. The process obtains said current biological signal from a sensorassociated with said user. The process, at block 1710, then obtains atarget biological signal, such as a user-specified biological signal, abiological signal associated with a healthy user, or a biological signalassociated with an athlete. According to one embodiment, the processobtains said target biological signal from a user, or a database 180storing biological signals. The process, at block 1720, compares currentbio signal associated with said user and target bio signal, andgenerates a notification based on the comparison 1730. The comparison ofthe current bio signal associated with said user and target bio signalcomprises detecting a higher frequency in the current biological signalthen in the target biological signal, detecting a lower frequency in thecurrent biological signal than in the target biological signal,detecting higher amplitude in the current biological signal than in thetarget biological signal, or detecting lower amplitude in the currentbiological signal than in the target biological signal.

According to one embodiment, the process of FIG. 17 can be used todetect if an infant has a higher risk of sudden infant death syndrome(“SIDS”). In SIDS victims less than one month of age, heart rate ishigher than in healthy infants of same age, during all sleep phases.SIDS victims greater than one month of age show higher heart ratesduring REM sleep phase. In case of monitoring an infant for a risk ofSIDS, the process obtains the current bio signal associated with thesleeping infant, and a target biological signal associated with theheart rate of a healthy infant, where the heart rate is at the high endof a healthy heart rate spectrum. The process obtains the current biosignal from a sensor strip associated with the sleeping infant. Theprocess obtains said target biological signal from a database 180 ofbiological signals. If the frequency of the biological signal of theinfant exceeds the target biological signal, the process generates anotification to the infant's caretaker, that the infant is at higherrisk of SIDS.

According to another embodiment, the process of FIG. 17 can be used infitness training. A normal resting heart rate for adults ranges from 60to 100 beats per minute. Generally, a lower heart rate at rest impliesmore efficient heart function and better cardiovascular fitness. Forexample, a well-trained athlete might have a normal resting heart ratecloser to 40 beats per minute. Thus, a user may specify a target restheart rate of 40 beats per minute. The process FIG. 17 generates acomparison between the actual bio signal associated with said user andthe target bio signal 1720, and based on the comparison, the processgenerates a notification whether the user has reached his target, orwhether the user needs to exercise more 1730.

FIG. 18 is a flowchart of a process for detecting the onset of adisease, according to one embodiment. The process, at block 1800,obtains the current bio signal associated with a user, such as presence,motion, temperature, breathing rate, or heart rate, associated with saiduser. The process obtains the current bio signal from a sensorassociated with said user. Further, the process, at block 1810, obtainsa history of bio signals associated with said user from a database 180.The history of bio signals comprises the bio signals associated withsaid user, accumulated over time. The history of biological signals canbe stored in a database 180 associated with a user. The process, atblock 1820, then detects a discrepancy between the current bio signaland the history of bio signals, where the discrepancy is indicative ofan onset of a disease. The process, at block 1830, then generates analarm to the user's caretaker. The discrepancy between the current biosignal and the history of bio signals comprises a higher frequency inthe current bio signal than in the history of bio signals, or a lowerfrequency in the current bio signal than in the history of bio signals.

According to one embodiment, the process of FIG. 18 can be used todetect an onset of an epileptic seizure. A healthy person has a normalheart rate between 60 and 100 beats per minute. During epilepticseizures, the median heart rate associated with said person exceeds 100beats per minute. The process of FIG. 18 detects that the heart rateassociated with said user exceeds the normal heart rate range associatedwith said user. The process then generates an alarm to the user'scaretaker that the user is having an epileptic seizure. Although rare,epileptic seizures can cause the median heart rate associated with aperson to drop below 40 beats per minute. Similarly, the process of FIG.18 detects if the current heart rate is below the normal heart raterange associated with said user. The process then generates an alarm tothe user's caretaker that the user is having an epileptic seizure.

FIG. 19 is a diagrammatic representation of a machine in the exampleform of a computer system 1900 within which a set of instructions, forcausing the machine to perform any one or more of the methodologies ormodules discussed herein, may be executed.

In the example of FIG. 19, the computer system 1900 includes aprocessor, memory, non-volatile memory, and an interface device. Variouscommon components (e.g., cache memory) are omitted for illustrativesimplicity. The computer system 1900 is intended to illustrate ahardware device on which any of the components described in the exampleof FIGS. 1-18 (and any other components described in this specification)can be implemented. The computer system 1900 can be of any applicableknown or convenient type. The components of the computer system 1900 canbe coupled together via a bus or through some other known or convenientdevice.

This disclosure contemplates the computer system 1900 taking anysuitable physical form. As example and not by way of limitation,computer system 1900 may be an embedded computer system, asystem-on-chip (SOC), a single-board computer system (SBC) (such as, forexample, a computer-on-module (COM) or system-on-module (SOM)), adesktop computer system, a laptop or notebook computer system, aninteractive kiosk, a mainframe, a mesh of computer systems, a mobiletelephone, a personal digital assistant (PDA), a server, or acombination of two or more of these. Where appropriate, computer system1900 may include one or more computer systems 1900; be unitary ordistributed; span multiple locations; span multiple machines; or residein a cloud, which may include one or more cloud components in one ormore networks. Where appropriate, one or more computer systems 1900 mayperform without substantial spatial or temporal limitation one or moresteps of one or more methods described or illustrated herein. As anexample and not by way of limitation, one or more computer systems 1900may perform in real time or in batch mode one or more steps of one ormore methods described or illustrated herein. One or more computersystems 1900 may perform at different times or at different locationsone or more steps of one or more methods described or illustratedherein, where appropriate.

The processor may be, for example, a conventional microprocessor such asan Intel Pentium microprocessor or Motorola power PC microprocessor. Oneof skill in the relevant art will recognize that the terms“machine-readable (storage) medium” or “computer-readable (storage)medium” include any type of device that is accessible by the processor.

The memory is coupled to the processor by, for example, a bus. Thememory can include, by way of example but not limitation, random accessmemory (RAM), such as dynamic RAM (DRAM) and static RAM (SRAM). Thememory can be local, remote, or distributed.

The bus also couples the processor to the non-volatile memory and driveunit. The non-volatile memory is often a magnetic floppy or hard disk, amagnetic-optical disk, an optical disk, a read-only memory (ROM), suchas a CD-ROM, EPROM, or EEPROM, a magnetic or optical card, or anotherform of storage for large amounts of data. Some of this data is oftenwritten, by a direct memory access process, into memory during executionof software in the computer 1900. The non-volatile storage can be local,remote, or distributed. The non-volatile memory is optional becausesystems can be created with all applicable data available in memory. Atypical computer system will usually include at least a processor,memory, and a device (e.g., a bus) coupling the memory to the processor.

Software is typically stored in the non-volatile memory and/or the driveunit. Indeed, storing and entire large program in memory may not even bepossible. Nevertheless, it should be understood that for software torun, if necessary, it is moved to a computer readable locationappropriate for processing, and for illustrative purposes, that locationis referred to as the memory in this paper. Even when software is movedto the memory for execution, the processor will typically make use ofhardware registers to store values associated with the software, andlocal cache that, ideally, serves to speed up execution. As used herein,a software program is assumed to be stored at any known or convenientlocation (from non-volatile storage to hardware registers) when thesoftware program is referred to as “implemented in a computer-readablemedium.” A processor is considered to be “configured to execute aprogram” when at least one value associated with the program is storedin a register readable by the processor.

The bus also couples the processor to the network interface device. Theinterface can include one or more of a modem or network interface. Itwill be appreciated that a modem or network interface can be consideredto be part of the computer system 1900. The interface can include ananalog modem, isdn modem, cable modem, token ring interface, satellitetransmission interface (e.g. “direct PC”), or other interfaces forcoupling a computer system to other computer systems. The interface caninclude one or more input and/or output devices. The I/O devices caninclude, by way of example but not limitation, a keyboard, a mouse orother pointing device, disk drives, printers, a scanner, and other inputand/or output devices, including a display device. The display devicecan include, by way of example but not limitation, a cathode ray tube(CRT), liquid crystal display (LCD), or some other applicable known orconvenient display device. For simplicity, it is assumed thatcontrollers of any devices not depicted in the example of FIG. 9 residein the interface.

In operation, the computer system 1900 can be controlled by operatingsystem software that includes a file management system, such as a diskoperating system. One example of operating system software withassociated file management system software is the family of operatingsystems known as Windows® from Microsoft Corporation of Redmond, Wash.,and their associated file management systems. Another example ofoperating system software with its associated file management systemsoftware is the Linux™ operating system and its associated filemanagement system. The file management system is typically stored in thenon-volatile memory and/or drive unit and causes the processor toexecute the various acts required by the operating system to input andoutput data and to store data in the memory, including storing files onthe non-volatile memory and/or drive unit.

Some portions of the detailed description may be presented in terms ofalgorithms and symbolic representations of operations on data bitswithin a computer memory. These algorithmic descriptions andrepresentations are the means used by those skilled in the dataprocessing arts to most effectively convey the substance of their workto others skilled in the art. An algorithm is here, and generally,conceived to be a self-consistent sequence of operations leading to adesired result. The operations are those requiring physicalmanipulations of physical quantities. Usually, though not necessarily,these quantities take the form of electrical or magnetic signals capableof being stored, transferred, combined, compared, and otherwisemanipulated. It has proven convenient at times, principally for reasonsof common usage, to refer to these signals as bits, values, elements,symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar termsare to be associated with the appropriate physical quantities and aremerely convenient labels applied to these quantities. Unlessspecifically stated otherwise as apparent from the following discussion,it is appreciated that throughout the description, discussions utilizingterms such as “processing” or “computing” or “calculating” or“determining” or “displaying” or “generating” or the like, refer to theaction and processes of a computer system, or similar electroniccomputing device, that manipulates and transforms data represented asphysical (electronic) quantities within the computer system's registersand memories into other data similarly represented as physicalquantities within the computer system memories or registers or othersuch information storage, transmission or display devices.

The algorithms and displays presented herein are not inherently relatedto any particular computer or other apparatus. Various general purposesystems may be used with programs in accordance with the teachingsherein, or it may prove convenient to construct more specializedapparatus to perform the methods of some embodiments. The requiredstructure for a variety of these systems will appear from thedescription below. In addition, the techniques are not described withreference to any particular programming language, and variousembodiments may thus be implemented using a variety of programminglanguages.

In alternative embodiments, the machine operates as a standalone deviceor may be connected (e.g., networked) to other machines. In a networkeddeployment, the machine may operate in the capacity of a server or aclient machine in a client-server network environment, or as a peermachine in a peer-to-peer (or distributed) network environment.

The machine may be a server computer, a client computer, a personalcomputer (PC), a tablet PC, a laptop computer, a set-top box (STB), apersonal digital assistant (PDA), a cellular telephone, an iPhone, aBlackberry, a processor, a telephone, a web appliance, a network router,switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine.

While the machine-readable medium or machine-readable storage medium isshown in an exemplary embodiment to be a single medium, the term“machine-readable medium” and “machine-readable storage medium” shouldbe taken to include a single medium or multiple media (e.g., acentralized or distributed database 180, and/or associated caches andservers) that store the one or more sets of instructions. The term“machine-readable medium” and “machine-readable storage medium” shallalso be taken to include any medium that is capable of storing, encodingor carrying a set of instructions for execution by the machine and thatcause the machine to perform any one or more of the methodologies ormodules of the presently disclosed technique and innovation.

In general, the routines executed to implement the embodiments of thedisclosure, may be implemented as part of an operating system or aspecific application, component, program, object, module or sequence ofinstructions referred to as “computer programs.” The computer programstypically comprise one or more instructions set at various times invarious memory and storage devices in a computer, and that, when readand executed by one or more processing units or processors in acomputer, cause the computer to perform operations to execute elementsinvolving the various aspects of the disclosure.

Moreover, while embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Further examples of machine-readable storage media, machine-readablemedia, or computer-readable (storage) media include but are not limitedto recordable type media such as volatile and non-volatile memorydevices, floppy and other removable disks, hard disk drives, opticaldisks (e.g., Compact Disk Read-Only Memory (CD ROMS), Digital VersatileDisks, (DVDs), etc.), among others, and transmission type media such asdigital and analog communication links

In some circumstances, operation of a memory device, such as a change instate from a binary one to a binary zero or vice-versa, for example, maycomprise a transformation, such as a physical transformation. Withparticular types of memory devices, such a physical transformation maycomprise a physical transformation of an article to a different state orthing. For example, but without limitation, for some types of memorydevices, a change in state may involve an accumulation and storage ofcharge or a release of stored charge. Likewise, in other memory devices,a change of state may comprise a physical change or transformation inmagnetic orientation or a physical change or transformation in molecularstructure, such as from crystalline to amorphous or vice versa. Theforegoing is not intended to be an exhaustive list of all examples pageon in which a change in state for a binary one to a binary zero orvice-versa in a memory device may comprise a transformation, such as aphysical transformation. Rather, the foregoing is intended asillustrative examples.

A storage medium typically may be non-transitory or comprise anon-transitory device. In this context, a non-transitory storage mediummay include a device that is tangible, meaning that the device has aconcrete physical form, although the device may change its physicalstate. Thus, for example, non-transitory refers to a device remainingtangible despite this change in state.

Remarks

In many of the embodiments disclosed in this application, the technologyis capable of allowing multiple different users to use the same piece offurniture equipped with the presently disclosed technology. For example,different people can sleep in the same bed. In addition, two differentusers can switch the side of the bed that they sleep on, and thetechnology disclosed here will correctly identify which user is sleepingon which side of the bed. The technology identifies the users based onany of the following signals alone or in combination: heart rate,breathing rate, body motion, or body temperature associated with eachuser.

The foregoing description of various embodiments of the claimed subjectmatter has been provided for the purposes of illustration anddescription. It is not intended to be exhaustive or to limit the claimedsubject matter to the precise forms disclosed. Many modifications andvariations will be apparent to one skilled in the art. Embodiments werechosen and described in order to best describe the principles of theinvention and its practical applications, thereby enabling othersskilled in the relevant art to understand the claimed subject matter,the various embodiments, and the various modifications that are suitedto the particular uses contemplated.

While embodiments have been described in the context of fullyfunctioning computers and computer systems, those skilled in the artwill appreciate that the various embodiments are capable of beingdistributed as a program product in a variety of forms, and that thedisclosure applies equally regardless of the particular type of machineor computer-readable media used to actually effect the distribution.

Although the above Detailed Description describes certain embodimentsand the best mode contemplated, no matter how detailed the above appearsin text, the embodiments can be practiced in many ways. Details of thesystems and methods may vary considerably in their implementationdetails, while still being encompassed by the specification. As notedabove, particular terminology used when describing certain features oraspects of various embodiments should not be taken to imply that theterminology is being redefined herein to be restricted to any specificcharacteristics, features, or aspects of the invention with which thatterminology is associated. In general, the terms used in the followingclaims should not be construed to limit the invention to the specificembodiments disclosed in the specification, unless those terms areexplicitly defined herein. Accordingly, the actual scope of theinvention encompasses not only the disclosed embodiments, but also allequivalent ways of practicing or implementing the embodiments under theclaims.

The language used in the specification has been principally selected forreadability and instructional purposes, and it may not have beenselected to delineate or circumscribe the inventive subject matter. Itis therefore intended that the scope of the invention be limited not bythis Detailed Description, but rather by any claims that issue on anapplication based hereon. Accordingly, the disclosure of variousembodiments is intended to be illustrative, but not limiting, of thescope of the embodiments, which is set forth in the following claims.

1. A system for automatically activating a vibrating alarm strip inresponse to a biological signal associated with a user, said systemcomprising: a sensor strip configured to measure said biological signalassociated with said user, wherein said sensor strip comprises a piezosensor, and a temperature sensor, and further wherein said biologicalsignal comprises a breathing rate associated with said user, a heartrate associated with said user, a motion associated with said user, anda temperature associated with said user; a database configured to storea history of biological signals associated with said user; saidvibrating alarm strip, attached to a mattress, configured to receive acontrol signal and to vibrate based on said control signal, saidvibrating alarm strip comprising a plurality of zones corresponding to aplurality of users, wherein each zone in said plurality of zones isconfigured to vibrate independently; a computer processorcommunicatively coupled to said sensor strip, said vibrating alarmstrip, and said database, said computer processor configured to:identify said user based on at least one of: said heart rate associatedwith said user, said breathing rate associated with said user, saidmotion associated with said user, or said temperature associated withsaid user; based on said user identification, obtain a wake-up timeassociated with said user; based on said history of biological signalsand said biological signal, identify a sleep phase associated with saiduser, said sleep phase comprising a wakefulness phase, a light sleepphase, a deep sleep phase, or a rapid eye movement sleep phase; and whensaid sleep phase comprises said light sleep phase and a current time isat most one hour before said wake-up time, send said control signal tosaid vibrating alarm strip, said control signal comprising aninstruction to vibrate.
 2. The system of claim 1, wherein said historyof biological signals comprises a normal heart rate range associatedwith each sleep phase, a normal breathing rate range associated witheach sleep phase, a normal motion range associated with each sleepphase, and a normal temperature range associated with each sleep phase.3. A system for automatically activating a vibrating alarm in responseto a biological signal associated with a user, said system comprising: asensor strip configured to measure said biological signal associatedwith said user, wherein said sensor strip comprises a piezo sensor, anda temperature sensor, and further wherein said biological signalcomprises a breathing rate associated with said user, a heart rateassociated with said user, a motion associated with said user, and atemperature associated with said user; said vibrating alarm, coupled tosaid user, configured to receive a control signal and to vibrate basedon said control signal; a computer processor communicatively coupled tosaid sensor strip, and said vibrating alarm, said computer processorconfigured to: identify said user based on at least one of: said heartrate associated with said user, said breathing rate associated with saiduser, said motion associated with said user, or said temperatureassociated with said user; based on said user identification, obtain awake-up time associated with said user; based on said biological signal,detect when said user is in a light sleep phase; and when said user isin said light sleep phase and a current time is at most one hour beforesaid wake-up time, send said control signal to said vibrating alarm,said control signal comprising an instruction to vibrate.
 4. The systemof claim 3, wherein said computer processor is configured to detect whensaid user is in said light sleep phase by detecting: a slowdown in saidheart rate, a drop in said temperature, and a regular breathing rate. 5.The system of claim 3, wherein said computer processor is configured todetect when said user is in said light sleep phase by detecting an endof said rapid eye movement sleep phase.
 6. The system of claim 3, saidvibrating alarm comprising a vibrating alarm strip, said vibrating alarmstrip coupled to said user, and further said vibrating alarm stripcomprising a plurality of zones corresponding to a plurality of users,wherein each zone in said plurality of zones is configured to vibrateindependently.
 7. The system of claim 6, wherein said control signalcomprises an identification associated with said zone in said pluralityof zones.
 8. The system of claim 3, said vibrating alarm comprising avibrating alarm strip attached to a bed pad.
 9. The system of claim 3,said vibrating alarm comprising a vibrating alarm strip attached to abed cover.
 10. The system of claim 3, said vibrating alarm comprising avibrating alarm strip attached to a bed sheet.
 11. The system of claim3, said vibrating alarm comprising a wearable user device.
 12. Thesystem of claim 3, further comprising a database configured to store ahistory of biological signals associated with said user, wherein saidhistory of biological signals comprises a normal heart rate rangeassociated with each sleep phase, a normal breathing rate rangeassociated with each sleep phase, a normal motion range associated witheach sleep phase, and a normal temperature range associated with eachsleep phase.
 13. The system of claim 12, wherein said computer processoris further configured to: based on said user identification, retrievefrom said database, said history of biological signals associated withsaid user; and based on said biological signal and said history ofbiological signals, determine said sleep phase associated with saiduser.
 14. A method for automatically activating a vibrating alarm stripin response to a biological signal associated with a user, said methodcomprising: measuring said biological signal associated with said userwith a sensor strip, wherein said sensor strip comprises a piezo sensor,and a temperature sensor, and further wherein said biological signalcomprises a breathing rate associated with said user, a heart rateassociated with said user, a motion associated with said user, and atemperature associated with said user; storing a history of biologicalsignals associated with said user in a database; identifying said userbased on at least one of: said heart rate associated with said user,said breathing rate associated with said user, said motion associatedwith said user, or said temperature associated with said user; based onsaid user identification, obtaining a wake-up time associated with saiduser; based on said history of biological signals and said biologicalsignal, identifying a sleep phase associated with said user, said sleepphase comprising a wakefulness phase, a light sleep phase, a deep sleepphase, or a rapid eye movement sleep phase; and when said sleep phasecomprises said light sleep phase and a current time is at most one hourbefore said wake-up time, sending a control signal to said vibratingalarm strip, said control signal comprising an instruction to vibrate.15. The method of claim 14, comprising configuring said vibrating alarmstrip to attach to a mattress, to receive said control signal and tovibrate based on said control signal, said vibrating alarm stripcomprising a plurality of zones corresponding to a plurality of users,wherein each zone in said plurality of zones is configured to vibrateindependently.
 16. The method of claim 14, wherein said history ofbiological signals comprises a normal heart rate range associated witheach sleep phase, a normal breathing rate range associated with eachsleep phase, a normal motion range associated with each sleep phase, anda normal temperature range associated with each sleep phase.
 17. Amethod for automatically activating a vibrating alarm in response to abiological signal associated with a user, said method comprising:configuring a computer processor to: identify said user based on atleast one of: a heart rate associated with said user, a breathing rateassociated with said user, a motion associated with said user, or atemperature associated with said user, wherein said biological signalcomprises said heart rate, said breathing rate, said motion, and saidtemperature; based on said user identification, obtain a wake-up timeassociated with said user; based on said biological signal, detect whensaid user is in a light sleep phase; and when said user is in said lightsleep phase and a current time is at most one hour before said wake-uptime, send a control signal to said vibrating alarm coupled to saiduser, said control signal comprising an instruction to vibrate.
 18. Themethod of claim 17, further comprising: configuring a sensor strip tomeasure said biological signal associated with said user, wherein saidsensor strip comprises a piezo sensor, and a temperature sensor.
 19. Themethod of claim 17, further comprising: configuring said vibrating alarmto receive said control signal and to vibrate based on said controlsignal.
 20. The method of claim 19, said vibrating alarm comprising avibrating alarm strip attached to a bed pad.
 21. The method of claim 19,said vibrating alarm comprising a vibrating alarm strip attached to abed cover.
 22. The method of claim 19, said vibrating alarm comprising avibrating alarm strip attached to a bed sheet.
 23. The method of claim19, said vibrating alarm comprising a wearable user device.
 24. Themethod of claim 19, wherein said vibrating alarm comprises a vibratingalarm strip coupled to said user, and further wherein said vibratingalarm strip comprises a plurality of zones corresponding to a pluralityof users, wherein each zone in said plurality of zones is configured tovibrate independently.
 25. The method of claim 24, wherein said controlsignal comprises an identification associated with said zone in saidplurality of zones.
 26. The method of claim 17, wherein said configuringsaid computer processor to detect when said user is in said light sleepphase comprises detecting a slowdown in said heart rate, a drop in saidtemperature, and a regular breathing rate.
 27. The method of claim 17,wherein said configuring said computer processor to detect when saiduser is in said light sleep phase comprises detecting an end of saidrapid eye movement sleep phase.
 28. The method of claim 17, furthercomprising configuring a database to store a history of biologicalsignals associated with said user, wherein said history of biologicalsignals comprises a normal heart rate range associated with each sleepphase, a normal breathing rate range associated with each sleep phase, anormal motion range associated with each sleep phase, and a normaltemperature range associated with each sleep phase.
 29. The method ofclaim 28, further comprising: configuring said computer processor to,based on said user identification, retrieve from said database, saidhistory of biological signals; and configuring said computer processorto, based on said biological signal and said history of said biologicalsignals, determine said sleep phase associated with said user.